package modelos.pojos;

import controladores.ManagerArchivo;
import modelos.daos.ClienteDAO;
import java.sql.*;
import java.util.Date;

public class Reserva {

    public ManagerArchivo archivo = new ManagerArchivo();
    private String codigoReserva;
    private String descripcion;
    private char estado;
    private int id;
    private Date fechaRealizacion;
    private Cliente cliente;

    public Reserva() {
    }

    public Cliente getCliente() {
        return cliente;
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    public Reserva(String codigoReserva, String descripcion, Date fechaRealizacion) throws Exception {
        this.codigoReserva = codigoReserva;
        this.descripcion = descripcion;
        this.fechaRealizacion = fechaRealizacion;
        this.estado = 'a';
    }

    public String getCodigoReserva() {
        return codigoReserva;
    }

    public void setCodigoReserva(String codigoReserva) {
        this.codigoReserva = codigoReserva;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public char getEstado() {
        return estado;
    }

    public void setEstado(char estado) {
        this.estado = estado;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Date getFechaRealizacion() {
        return fechaRealizacion;
    }

    public void setFechaRealizacion(Date fechaRealizacion) {
        this.fechaRealizacion = fechaRealizacion;
    }

    public static Reserva cargarDatos(ResultSet in) throws SQLException {
        Reserva out = new Reserva();
        out.setId(in.getInt(1));
        out.setCliente(ClienteDAO.consultar(in.getString(7)));
        out.setCodigoReserva(in.getString(3));
        out.setDescripcion(in.getString(4));
        out.setFechaRealizacion(in.getDate(5));
        out.setEstado(in.getString(6).charAt(0));
        return out;
    }

    public String toString() {
        return codigoReserva + " " + descripcion;
    }
}
